]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
NMConnectionSection: don't remove connections that were never added
authorGiovanni Campagna <gcampagna@src.gnome.org>
Sat, 8 Mar 2014 18:54:09 +0000 (19:54 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Mon, 10 Mar 2014 16:49:43 +0000 (17:49 +0100)
NMApplet will call removeConnection() unconditionally on all sections,
including those that had nothing to do with the connection in the first
place.

Fixes:

Gjs-WARNING **: JS ERROR: TypeError: this._connectionItems.get(...) is undefined
NMConnectionSection<.removeConnection@resource:///org/gnome/shell/ui/status/network.js:323
wrapper@resource:///org/gnome/gjs/modules/lang.js:169
NMApplet<._connectionRemoved@resource:///org/gnome/shell/ui/status/network.js:1885
wrapper@resource:///org/gnome/gjs/modules/lang.js:169

https://bugzilla.gnome.org/show_bug.cgi?id=725958

js/ui/status/network.js

index b159e3cf84b452837ed8e2178eeecadec3d49c41..ce6b004de5a7a37f2c7bc6b3ea98af6c24f9a776 100644 (file)
@@ -293,8 +293,13 @@ const NMConnectionSection = new Lang.Class({
     },
 
     removeConnection: function(connection) {
-        this._connectionItems.get(connection.get_uuid()).destroy();
-        this._connectionItems.delete(connection.get_uuid());
+        let uuid = connection.get_uuid();
+        let item = this._connectionItems.get(uuid);
+        if (item == undefined)
+            return;
+
+        item.destroy();
+        this._connectionItems.delete(uuid);
 
         let pos = this._connections.indexOf(connection);
         this._connections.splice(pos, 1);